From 5488b6a161a5a71877ab592960cf737be07da822 Mon Sep 17 00:00:00 2001 From: oliskoli Date: Tue, 13 Feb 2007 08:13:39 +0000 Subject: [PATCH] Add column "utm c" (utm zone character as part of utm coordinates). --- unicsv.c | 10 +++++++++- xmldoc/formats/unicsv.xml | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/unicsv.c b/unicsv.c index c71afeb36..edef30b1a 100644 --- a/unicsv.c +++ b/unicsv.c @@ -41,6 +41,7 @@ struct { int utmzcol; /* Zone */ int utmncol; /* Northing */ int utmecol; /* Easting */ + int utmccol; /* Zone character */ } unicsv_fieldpos; static double unicsv_altscale; @@ -118,6 +119,9 @@ unicsv_fondle_header(char *ibuf) else if (UNICSV_CONTAINS("utm e")) { unicsv_fieldpos.utmecol = i; } + else if (UNICSV_CONTAINS("utm c")) { + unicsv_fieldpos.utmccol = i; + } /* todo: speed, course, hdop, sat, date, time, maybe a few others */ } } @@ -151,6 +155,7 @@ unicsv_parse_one_line(char *ibuf) int utmz = -9999; double utme = 0; double utmn = 0; + char utmc = 'N'; s = csv_lineparse(ibuf, unicsv_fieldsep, "\"", 0); if (s == NULL) return; @@ -189,10 +194,13 @@ unicsv_parse_one_line(char *ibuf) else if (i == unicsv_fieldpos.utmncol) { utmn = atof(s); } + else if (i == unicsv_fieldpos.utmccol) { + utmc = toupper(s[0]); + } } if (utmz != -9999) { GPS_Math_UTM_EN_To_WGS84(&wpt->latitude, &wpt->longitude, - utme, utmn, utmz, 'N'); + utme, utmn, utmz, utmc); } waypt_add(wpt); } diff --git a/xmldoc/formats/unicsv.xml b/xmldoc/formats/unicsv.xml index 6b7a21bba..61b8d205c 100644 --- a/xmldoc/formats/unicsv.xml +++ b/xmldoc/formats/unicsv.xml @@ -12,7 +12,7 @@ The list of keywords include "lat", "lon", "desc", "name", - "notes", "alt", "utm z", "utm n", "utm e", and "url". + "notes", "alt", "utm z", "utm n", "utm e", "utm c" and "url". Fuller spellings (i.e. "longitude") may be used. -- 2.30.2